/* Common elemen styles */
h1 {
    font-size: 3rem;
    color: white;
    padding-bottom: 25px;
}

h2 {
    font-weight: 300;
    font-size: 3rem;
}

h3 {
    font-weight: 300;
    font-size: 2.5rem;
}

h4 {
    font-weight: 300;
    font-size: 2rem;
}

h1 .headerlink,
h2 .headerlink,
h3 .headerlink,
h4 .headerlink,
dt .headerlink{
    display: none;
    color:#424242; /*  grey darken-3 */
    font-weight: 300;
    padding-left: 10px;
    vertical-align: top;
}

h1 .headerlink,
h2 .headerlink,
h3 .headerlink {
    font-size: 2rem;
}

h4 .headerlink {
    font-size: 1.5rem;
}

h2:hover .headerlink,
h3:hover .headerlink,
h4:hover .headerlink,
dt:hover .headerlink{
    display: initial;
}

p {
    font-size: 1rem;
}

ul.simple {
    padding-left: 20px;
}

ul.simple li {
    list-style-type: circle;
    padding-left: 20px;
}

pre {
    padding: 20px;
}

cite {
    padding: 0px;
    font-family: monospace;
    font-style: normal;
    color: #4070a0;
}

em {
    font-style: normal;
}

table.field-list th.field-name {
    vertical-align: top;
}

table.field-list td.field-body {
    padding-top: 0px;
}

dl.class dt {
    font-size: 1.2rem;
    padding: 5px;
    padding-left: 0px;
    font-family: monospace;
}

dl.class > dt {
    background: #f1f1f1;
    padding: 5px;
}

dl.class > dt:target {
    background: #bfbfbf;
}

dl.class dl.docutils dt {
    font-size: 1rem;
}

/* Layout */
html, body {
    height:100%;
}

main {
    min-height:100%;
}

header .logo {
    width: 120px;
}

header .side-nav a[href="#"] {
    background: #eee;
}

header .side-nav ul>li.current>a:first-child {
    background: #eee;
}

header .side-nav ul>li.current.toctree-l2>a:first-child {
    background: #424242;
    color:white;
}

header .side-nav.fixed h3 a {
    padding-left: 40px;
}

header .side-nav .toctree-l1 a {
    padding-left: 40px;
}

header .side-nav .toctree-l2 a {
    padding-left: 60px;
}

header .side-nav .toctree-l3 a {
    padding-left: 80px;
}

@media only screen and (min-width : 993px) {
    main, footer {
        margin-left: 300px;
    }
    .container {
        width: 85%;
    }
}

.document .section:first-child {
    padding-top: 0px;
    margin-top: 0px;
}

.document .section:first-child h1:first-child {
    margin-top: 0px;
    background: #424242; /*  grey darken-3 */
    color: white;
    font-weight: 100;
    padding: 30px 0px 30px 0px;
    white-space: nowrap;
}

@media only screen and (max-width : 680px) {
    .document .section:first-child h1:first-child {
        margin-left: 35px;
    }       
}

.table-of-contents a.active {
    border-left: 2px solid #424242;
}

.table-of-contents a:hover {
    border-left: none;
}

footer.page-footer {
    background-color: #424242; /*  grey darken-3 */
    color: white;
    padding: 10px 40px 10px 40px;
}

#table-of-contents {
    display: none;
}

/* Page elements */
span.theme {
    font-size: 2em;
    line-height: 2.2em;
    padding: 10px;
    margin: 5px;
}